Feat: readExamHistoryList (시험 결과 목록 조회) 조회 성능 개선 #267
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR
✨ 작업 내용
calculateTotalQuantity()
메서드를 사용했었는데 이때 answer 를 모두 조회해야하므로 지연이 생길 수 있었습니다. 문제 전체 개수는 변경되지 않기 때문에 exam을 생성할 때 answer 개수를 totalQuantity 에 담아 저장하도록 변경했습니다.ExamResult
엔티티에서member
를 즉시 로딩할 필요가 없으므로 lazy fetch 설정했습니다.✨ 참고 사항
examId를 리스트로 모아서 examResult 들을 한꺼번에 조회하는 것이므로 이전 코드처럼 일일이 해당 exam에 매치되는 examResult 의 존재 여부는 확인할 수 없습니다. 따라서 전체 조회 후 examResult 개수와 exam 개수가 다른 케이스를
examResultRepository.findByExamIdAndMemberId(examId, memberId)
에서 null로 반환되는 케이스와 동일하게 간주하고 처리했습니다.이슈와 관련없는 변경사항은 KtLint 자동 포맷입니당..
⏰ 현재 버그
x
✏ Git Close